package cn.edu.tju.wallet.dto;

import java.math.BigDecimal;

public class WalletBalanceDTO {
    private Long walletId;                   // 钱包ID
    private BigDecimal balance;              // 总余额
    private BigDecimal availableBalance;     // 可用余额
    private BigDecimal frozenBalance;        // 冻结余额
    private BigDecimal principalBalance;     // 本金余额
    private BigDecimal bonusBalance;         // 奖励余额
    private BigDecimal overdraftAmount;      // 已透支金额
    private BigDecimal overdraftLimit;       // 透支额度

    // 构造函数（指南要求）
    public WalletBalanceDTO(Long walletId, BigDecimal balance, BigDecimal availableBalance, BigDecimal frozenBalance,
                            BigDecimal principalBalance, BigDecimal bonusBalance, BigDecimal overdraftAmount,
                            BigDecimal overdraftLimit) {
        this.walletId = walletId;
        this.balance = balance;
        this.availableBalance = availableBalance;
        this.frozenBalance = frozenBalance;
        this.principalBalance = principalBalance;
        this.bonusBalance = bonusBalance;
        this.overdraftAmount = overdraftAmount;
        this.overdraftLimit = overdraftLimit;
    }

    // Getter、Setter（指南要求）
    public Long getWalletId() { return walletId; }
    public void setWalletId(Long walletId) { this.walletId = walletId; }
    public BigDecimal getBalance() { return balance; }
    public void setBalance(BigDecimal balance) { this.balance = balance; }
    public BigDecimal getAvailableBalance() { return availableBalance; }
    public void setAvailableBalance(BigDecimal availableBalance) { this.availableBalance = availableBalance; }
    public BigDecimal getFrozenBalance() { return frozenBalance; }
    public void setFrozenBalance(BigDecimal frozenBalance) { this.frozenBalance = frozenBalance; }
    public BigDecimal getPrincipalBalance() { return principalBalance; }
    public void setPrincipalBalance(BigDecimal principalBalance) { this.principalBalance = principalBalance; }
    public BigDecimal getBonusBalance() { return bonusBalance; }
    public void setBonusBalance(BigDecimal bonusBalance) { this.bonusBalance = bonusBalance; }
    public BigDecimal getOverdraftAmount() { return overdraftAmount; }
    public void setOverdraftAmount(BigDecimal overdraftAmount) { this.overdraftAmount = overdraftAmount; }
    public BigDecimal getOverdraftLimit() { return overdraftLimit; }
    public void setOverdraftLimit(BigDecimal overdraftLimit) { this.overdraftLimit = overdraftLimit; }
}